For a quick turn-around time for middleware projects and with fewer infrastructures to manage, the WMB was selected as a technology for middleware development. The WMB translates a message from a formal messaging protocol of a sender to a formal messaging protocol of a receiver. A typical middleware application interfaces with the backend and makes available the backend Application Program Interfaces (APIs) to one or more frontend applications. The WMB also interfaces with a database for reporting requirements. The Subscriber Device Management IT-Enterprise Service Bus (SDM IT-ESB) application is one such middleware application. It provides an XML/HTTP interface to frontend applications such as, for example, an Automated Customer Support System (ACSS), a Subscriber Device Management User Interface (SDMUI), and a Point of Sale (POS). The backend interface to the SDM IT-ESB is on a Message Queue (MQ), which is a queue for messaging (e.g., passing of control or of content) between the SDM IT-ESB and the backend application.
Communication over MQ is asynchronous in nature. Once the request is placed on a request queue, the backend application consumes the request, processes it and places the backend application response into a reply queue. The requesting application, the SDM IT-ESB, then consumes the backend application response, when the backend application response becomes available and processes it. The result of processing by the SDM IT-ESB is dependent on the frontend application expecting the result.
While the SDM IT-ESB performs in an asynchronous fashion with relation to the backend application, some frontend applications such as the ACSS, SDMUI, and POS may need a synchronous response. To this end, the frontend application continues to wait for the SDM IT-ESB to send the backend application response even though the SDM IT-ESB has not received a response from the backend application. This may not be problematic when timing issues do not arise, e.g., when the response is provided in a relatively short amount of time or for frontend applications that do not have timing requirements. However, difficulties occur in situations in which the frontend application has a timing requirement and expects the backend application response before a timeout for processing the request is reached. Sometimes, the SDM IT-ESB does not receive the backend application response within the set timeout and as a result is unable to send the backend application response to the frontend application before the timeout is reached. To address this problem, the WMB includes a timeout node, which is used to send an error message to the frontend application when the timeout set in the timeout node is reached and no response is received from the backend application. The timeout set in the timeout node of the WMB, however, is not meeting the required timeout for the frontend applications. Specifically, the required timeout for the frontend application is less that the timeout set in the timeout node of the WMB, and the timeout node of the WMB cannot be adjusted by the mobile service provider (e.g., Verizon Wireless™) to meet the timeout for the frontend application.